// Chrome扩展后台脚本
console.log('小红书助手后台服务已启动')

// 安装时的处理
chrome.runtime.onInstalled.addListener((details) => {
  console.log('扩展已安装:', details)
  
  // 设置默认配置
  chrome.storage.local.set({
    config: {
      autoAnalyze: true,
      showNotifications: true,
      theme: 'light'
    }
  })
})

// 监听来自content script的消息
chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {
  console.log('收到消息:', request, '来自:', sender.tab?.url)
  
  switch (request.action) {
    case 'analyzeContent':
      handleAnalyzeContent(request.data, sendResponse)
      break
    case 'generateTags':
      handleGenerateTags(request.data, sendResponse)
      break
    case 'saveData':
      handleSaveData(request.data, sendResponse)
      break
    default:
      sendResponse({ success: false, message: '未知操作' })
  }
  
  // 保持消息通道开放
  return true
})

// 处理内容分析
const handleAnalyzeContent = async (data, sendResponse) => {
  try {
    console.log('开始分析内容:', data)
    
    // 模拟内容分析逻辑
    const analysis = {
      sentiment: Math.random() > 0.5 ? 'positive' : 'neutral',
      keywords: ['小红书', '分享', '生活'],
      score: Math.floor(Math.random() * 100) + 1,
      suggestions: [
        '标题可以更加吸引人',
        '增加一些表情符号',
        '可以添加相关话题标签'
      ]
    }
    
    // 保存分析结果
    chrome.storage.local.set({
      lastAnalysis: {
        ...analysis,
        timestamp: Date.now()
      }
    })
    
    sendResponse({ 
      success: true, 
      data: analysis 
    })
  } catch (error) {
    console.error('内容分析失败:', error)
    sendResponse({ 
      success: false, 
      message: '分析失败，请重试' 
    })
  }
}

// 处理标签生成
const handleGenerateTags = async (data, sendResponse) => {
  try {
    console.log('开始生成标签:', data)
    
    // 模拟标签生成逻辑
    const tags = [
      '#小红书分享',
      '#生活记录',
      '#日常',
      '#美好生活',
      '#推荐'
    ]
    
    sendResponse({ 
      success: true, 
      data: { tags } 
    })
  } catch (error) {
    console.error('标签生成失败:', error)
    sendResponse({ 
      success: false, 
      message: '生成失败，请重试' 
    })
  }
}

// 处理数据保存
const handleSaveData = async (data, sendResponse) => {
  try {
    console.log('保存数据:', data)
    
    // 获取现有数据
    const result = await chrome.storage.local.get(['userData'])
    const userData = result.userData || {}
    
    // 更新数据
    const updatedData = {
      ...userData,
      ...data,
      lastUpdate: Date.now()
    }
    
    // 保存数据
    await chrome.storage.local.set({ userData: updatedData })
    
    sendResponse({ 
      success: true, 
      message: '数据保存成功' 
    })
  } catch (error) {
    console.error('数据保存失败:', error)
    sendResponse({ 
      success: false, 
      message: '保存失败，请重试' 
    })
  }
}

// 定期清理过期数据
setInterval(() => {
  chrome.storage.local.get(['lastAnalysis'], (result) => {
    if (result.lastAnalysis) {
      const dayInMs = 24 * 60 * 60 * 1000
      if (Date.now() - result.lastAnalysis.timestamp > dayInMs) {
        chrome.storage.local.remove(['lastAnalysis'])
        console.log('已清理过期分析数据')
      }
    }
  })
}, 60 * 60 * 1000) // 每小时检查一次

// 监听标签页更新
chrome.tabs.onUpdated.addListener((tabId, changeInfo, tab) => {
  if (changeInfo.status === 'complete' && tab.url?.includes('xiaohongshu.com')) {
    console.log('小红书页面加载完成:', tab.url)
    // 可以在这里注入内容脚本或发送消息
  }
}) 